package com.ruoyi.passenger.order.service;


import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.passenger.order.domain.TOrder;
import com.ruoyi.passenger.order.ro.GetHistoricalOrderParam;
import com.ruoyi.passenger.order.vo.GetHistoricalOrderVO;
import com.ruoyi.passenger.order.vo.GetHistoricalOrderVOCopy;
import com.ruoyi.passenger.order.vo.GetOrderLocationVO;

import java.text.ParseException;
import java.util.List;
import java.util.Map;

/**
 * 订单Service接口
 *
 * @author ruoyi
 * @date 2021-12-01
 */
public interface ITOrderService {
    /**
     * 历史订单
     *
     * @param param
     * @return
     */
    List<GetHistoricalOrderVOCopy> selectHistoricalOrder(GetHistoricalOrderParam param,String userName);
    /**
     * 历史订单
     *
     * @param param
     * @return
     */
    List<GetHistoricalOrderVOCopy> selectHistoricalOrderAndPassengerId(GetHistoricalOrderParam param,String userName);

    void saveOrder(TOrder order);

    /**
     * 根据支付单流水获取订单详情
     * @param payOrderId
     * @return
     */
    TOrder getOrderByPayOrderId(String payOrderId);

    /**
     * 获取未同步行程信息的订单
     * @return
     */
    List<TOrder> getOrderListWithNoSync();

    void updateOrder(TOrder order);

    void updateOrderList(List<TOrder> list);

    void updateOrderAddressList(List<GetOrderLocationVO> list);

    List<String> getPayOrderId();

    int updatePayStatus(String payOrderId,String statusCode);

    void updateBatchPayStatus(List<Map> payList);

    List<GetOrderLocationVO> getAddress();
}
